// import { Injectable } from '@nestjs/common'
// import { Knex } from 'knex'
// import { InjectConnection } from 'nest-knexjs'

// interface Sqlite3UserVersion {
//   user_version: number
// }
// @Injectable()
// export class DbHelper {
//   constructor(@InjectConnection() private readonly knex: Knex) {
//     this.init()
//   }

//   async init() {
//     this.updateDbToVersion1()
//   }
//   async getSqlite3UserVersion() {
//     const [version] = await this.knex.raw('PRAGMA user_version;')
//     return (version as Sqlite3UserVersion).user_version
//   }

//   async updateSqlite3UserVersion(newVersion: number) {
//     await this.knex.raw(`PRAGMA user_version = ${newVersion};`)
//   }

//   async updateDbToVersion1() {
//     const sqliteUserVersion = await this.getSqlite3UserVersion()
//     if (sqliteUserVersion > 0) return

//     console.log('updateDbToVersion1 建表语句执行')
//     await this.knex.schema.createTableIfNotExists('t_project', tableBuilder => {
//       tableBuilder.comment('项目表')
//       tableBuilder.bigIncrements()
//       tableBuilder.string('name', 200)
//       tableBuilder.string('flag', 200)
//       tableBuilder.text('reamrk')
//       tableBuilder.timestamp('created_at').defaultTo(this.knex.fn.now())
//       tableBuilder.timestamp('updated_at').defaultTo(this.knex.fn.now())
//       return tableBuilder
//     })

//     await this.knex.schema.createTableIfNotExists('t_api', tableBuilder => {
//       tableBuilder.comment('api表')
//       tableBuilder.bigIncrements()
//       tableBuilder.bigint('project_id')
//       tableBuilder.string('request_method', 6)
//       tableBuilder.string('uri', 255)
//       tableBuilder.text('mockMethod')
//       tableBuilder.tinyint('enable')
//       tableBuilder.text('reamrk')
//       tableBuilder.timestamp('created_at').defaultTo(this.knex.fn.now())
//       tableBuilder.timestamp('updated_at').defaultTo(this.knex.fn.now())
//       return tableBuilder
//     })

//     let newVersion = sqliteUserVersion + 1
//     this.updateSqlite3UserVersion(newVersion)
//   }
// }
